/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.main.dataconverte;

import br.com.interfaces.DataWrite;
import br.com.model.DataColumn;
import br.com.model.ReaderCSV;
import br.com.model.WriterCSV;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.util.Scanner;

import com.sun.xml.internal.bind.marshaller.DataWriter;

/**
 * 
 * @author Ronen Filho
 */
public class DataConverte {

	/**
	 * @param args
	 *            the command line arguments
	 */
	public static void main(String[] args) throws FileNotFoundException,
			IOException {

		// Para instanciar um objeto do tipo File:
		File file, file2;
		file = new File("arquivoInput.csv");
		file2 = new File("arquivoOutput.csv");

		// Cria a instância de WriterCSV
		WriterCSV writerCSV = new WriterCSV();

		// verifica se o arquivo ou diretório existe
		// boolean existe = file.exists();

		try {
			if (!file.exists()) {
				// Se o arquivo no existir cria um arquivo (vazio)
				file.createNewFile();
			}

			ReaderCSV readerCSV = new ReaderCSV();
			readerCSV.setFile(file);

			// A primeira linha será usado como cabeçalho?
			readerCSV.setColumnsHeader(true);// default, alterar para parâmetro

			// List<String> nomeColuna = readerCSV.getColumnsName();
			List<DataColumn> dadosColunas = readerCSV.getColumns();

			// Organizar os dados
			writerCSV.setColumns(dadosColunas);

			// Grava informações no arquivo
			writerCSV.writeTo(file2);

		} catch (IOException ex) {
			ex.printStackTrace();
		}

		// Caso não exista, é possível criar um arquivo ou diretório
		// cria um arquivo (vazio)
		// file.createNewFile();

		// cria um diretório
		// file.mkdir();

		// caso seja um diretório, é possível listar seus arquivos e diretórios
		// File [] arquivos = file.listFiles();

		// exclui o arquivo ou diretório
		// file.delete();
	}
}
